home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Magazine / SoundLab / Studio16add / docs / Studio16add.doc < prev    next >
Encoding:
Text File  |  1997-12-10  |  66.4 KB  |  1,855 lines

  1. VER: Studio16guide 1.2 (09.12.97)
  2. author "Kenneth 'Kenny' Nilsen"
  3.  
  4.  
  5.          o-------------------------------------------------------o
  6.  
  7.                       STUDIO 16 DEVELOPER INFORMATION
  8.  
  9.          o-------------------------------------------------------o
  10.  
  11.  
  12.  
  13.         INTRODUCTION            About this project and archive
  14.  
  15.         IMPORTANT               Commercial program authors - read this!
  16.  
  17.         DISCLAIMER              Use at own risk
  18.  
  19.  o------------------------------------------------------------------------ o
  20.  
  21.         THE SAMPLE FILE         Full description of Studio 16 sample files
  22.  
  23.         THE MIXER FILE          Full description of mixer envelope files
  24.  
  25.         THE CUELIST FILE        Full description of the Cuelist format
  26.  
  27.         THE TRACK FILE          Full description of the track file format
  28.  
  29.         TOOL DESCRIPTIONS       Short description of each tool in archive
  30.  
  31.  o------------------------------------------------------------------------ o
  32.  
  33.         FAQ                     Latest Frequently Asked Questions
  34.  
  35.         POINTERS                Additional files and more
  36.  
  37.         CREDITS                 Credits, adresses and acknowledgement
  38.  
  39.  
  40.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  41.  
  42.  
  43.  
  44. INTRODUCTION
  45.  
  46.         This project started October 1997.
  47.  
  48.         Since Sunrize walked away from business, probably for lure of
  49.         greener pastures (to steel violently from Jamie Krutz) in March
  50.         1995, there has been very little development for Studio 16, none
  51.         officially. People has cried on their knees for developer
  52.         information (including myself), but our humble requests was never
  53.         heard - we only got bad knees in return.
  54.  
  55.         So sleeves up! I decided to do something about it and started to
  56.         toture the sample files to have them reveal their secrets. Then the
  57.         Cuelist files with good help from John Blyth (which had already
  58.         started something similar a while back, but was restricted by time),
  59.         track files and ..heck, why not, the mixer envelope files as well.
  60.         There was never need for dissasembling or reverse engineering, in
  61.         fact, if that would have been necessary I think I would have
  62.         dropped the project a long time ago (try to disassemble binaries
  63.         compiled in C..). Besides, I wouldn't feel to good about it. No,
  64.         here we needed pure hard work, sweat and tears (..) isolated from
  65.         the rest of the world.
  66.  
  67.         So, finally, we could now start to create tools to manipulate files,
  68.         fix them, work around bugs and so on. We could get support from
  69.         other audio software authors and we did. I contacted author of AHI,
  70.         Martin Blom, and within twelve hours he had written a filesaver for
  71.         Studio 16 files on my humble request. Thomas Wenzel, author of
  72.         Play16, was very open to it as well and promised support not only
  73.         in Play16, but in Samplitude as well. I spoke to the Octamed people
  74.         which was open for it too, but now at writing time I can't confirm
  75.         this or that conserning OM. Well, I also took the time to write
  76.         several tools myself, mostly for the samplefile, anyway, you will
  77.         find them in the bin/ directory of this archive.
  78.  
  79.         With the fileformat described herein you should be able to create
  80.         lots of software for Studio 16. Tips: mixer envelope editor with
  81.         graphical envs - how does that sound ? Path exchanger for cuelist
  82.         files so you can move samples to another place in one go - neet ?
  83.         Cuelist-render to sample ? [...] Well, use your own imagination!
  84.  
  85.         The project will go on and not stop until we have managed to
  86.         achieve direct sound output/input through the cards from memory
  87.         buffers! That will be the next step and a needed on if we want to
  88.         see program support like AHI etc... (I might take a vacation
  89.         around cristmas time though..)
  90.  
  91.         And feel free to join in. The more brainpower, the better. To do
  92.         that, join the mailinglist. The mailinglist is for discussions,
  93.         ideas, update and news and more. We have only serious people on
  94.         the list and many are pro's who work with Studio 16 everyday who
  95.         is a great resource of information and help - and we even have a
  96.         couple of famous peopleon the list as well.
  97.  
  98.         ..Oh, and please, if you do find anything which doesn't make sense
  99.         you MUST contact me so I can fix it! A warning at the end:
  100.         I am a terrible worder (atleast in this non-native language) so
  101.         please bear over with me if you get the urge to kill me or something.
  102.  
  103.         A last note: this project is a private initative and is unofficial.
  104.  
  105.  
  106.                 Enjoy!
  107.  
  108.                    - Kenny
  109.  
  110.  
  111.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  112.  
  113.  
  114.  
  115.  
  116. IMPORTANT
  117.  
  118.         You may use the documents herein commercially on the following
  119.         conditions:
  120.  
  121.         - The authors of these documents will get a free copy or a free
  122.           keyfile of the program(s) using the information.
  123.  
  124.         - You may NOT include parts of this archive in your distribution.
  125.           If you want to include some files you will need a prior written
  126.           approval. You may include the whole archive as-is.
  127.  
  128.         - You must state a copyright on the documentation and include a
  129.           pointer to this archive on Aminet in some file in the
  130.           distribution (see pointers).
  131.  
  132.         Contact me for details if there is something you wonder about in
  133.         this conjunction.
  134.  
  135.         Thank you!
  136.  
  137.  
  138.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  139.  
  140.  
  141.  
  142. DISCLAIMER
  143.  
  144.         Author(s) of the documentation can not be held responsible for any
  145.         damage it may cause or other problems. This applies to the tools
  146.         and other files in this archive as well. You use the content of
  147.         this archive fully at your own risk!
  148.  
  149.  
  150.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  151.  
  152.  
  153.  
  154. STUDIO 16 SAMPLE FILES
  155.  
  156.  
  157. The samplefile format consists of an absolute header followed by 16-bit raw
  158. data in Motorola format (MSB first). The format is built like this:
  159.  
  160.         [HEADER-ID]
  161.            <SampleInfo>
  162.            <SampleClip list>
  163.            <Region list>
  164.         [DATA]
  165.  
  166. The format is simple to read. In this section we will go through each part of
  167. the fileformat.
  168.  
  169.  
  170. HEADER
  171.  
  172. The file starts with an ID, longword size. The ID is 'KWK3'. Studio 16 is able
  173. to produce other formats as well, but we will not describe those in this
  174. document. You will be able to find resources on those formats elsewhere.
  175.  
  176. The KWK3 fileformat is specific to Studio 16. It's also called Studio16_2.0
  177. format. Studio 16 saves a version 1.0 format too, but we will not do any
  178. documentation on that format. You should use KWK3 (Studio16_2.0) files.
  179.  
  180. After the ID mark you can find a SampleInfo structure which consists of
  181. samplefrequency, volume, pan, filter and SMPTE data.
  182.  
  183. Frequency - The frequency is stored in a LONG word as integer (contrary AIFF
  184.             which stores its frequency as extended float). You just read it
  185.             directly to get the rate.
  186.  
  187. Filter    - The filter defaults to 1 or the same as samplerate or samplerate
  188.             / 2. The filter value is for the built-in antialias filter. On
  189.             AD516 the filter acts automatically and ignores this value.
  190.  
  191. Volume    - The volume is stored in a special format. Volumes reflect
  192.             decibels and is stored like this:
  193.  
  194.                (Actual volume in dB + 100) x 32 = volume value for file
  195.  
  196.             This will result in the value stored in the file. To extract a
  197.             volume you just do:
  198.  
  199.                 File volume value / 32 - 100 = dB
  200.  
  201.             As you can see the volume value has steps at 32. You may use 1/4th
  202.             of this value to achieve 0.25, 0.5 and 0.75 steps within one
  203.             decibel. The DSP can read this format directly.
  204.  
  205. Pan       - Pan values are also stored similar to the volume data. A pan will
  206.             have the value -100 for full left, 0 for center and +100 for full
  207.             right. I recommend not to subtract 100 from the value so that the
  208.             values will be 0 for left, 100 for center and 200 for right as
  209.             there is no 'negative' pans. The documentation will assume you do
  210.             not subtract 100 from the value.
  211.  
  212. SMPTE     - A Sample file may contain a SMPTE stamp. If this value >0 then the
  213.             sample will be adjusted on the Cuelist editor to suit the stamp.
  214.             The format is simple:
  215.  
  216.               first (unsigned) byte is hours
  217.               second (unsigned) byte is minuttes
  218.               third (unsigned) byte is seconds and
  219.               fourth (unsigned) byte is number of frames.
  220.  
  221.             Note that frames is relative to which system you use. If you work
  222.             on a PAL system max number of frames will be 25, while on a NTSC it
  223.             will be 30 (29.95DF).
  224.  
  225. SMPTEFLOAT  Is for SMPTEPLUS. This means you can have 1/samplerate resolution
  226.             to each frame in the file. The value here is a float representation
  227.             of the x/samplerate. You may initialize this value with null.
  228.  
  229. The format also has one longword for flags and one which is reserved. I have
  230. been unable to document the flag field since nothing seem to make it change.
  231. This may not be true with multiple card systems. If you notice any changes in
  232. this field pleace let me know.
  233.  
  234. The reserved field must be initialized with NULL.
  235.  
  236. The next part of the header describes sample data sizes and how to use them.
  237.  
  238. After the SampleInfo structure (NOTE: We use only one structure for the whole
  239. header - see include files for more details - SampleInfo structure is based on
  240. original docs from Sunrize) you will find two fields:
  241.  
  242. S16S_REALSIZE is the absolute size of the sampledata in 16-bits. To get the
  243. real byte size just multiply this value with two (same applies to all sizes
  244. in the sample, with a tiny difference in the SampleClips - see below).
  245.  
  246. S16S_EDITSIZE reflects the sum of all SampleClips. This may or may not be equal
  247. to _REALSIZE. All programs handling samples should use this 'virtual' size as
  248. reference. S16S_EDITSIZE may be larger than S16S_REALSIZE.
  249.  
  250.  
  251. SampleClips:
  252.  
  253.  
  254. A sample clip is built like this:
  255.  
  256.   S16SC_START - start position in sample data in number of samples
  257.   S16SC_END   - end position in sample data minus one
  258.  
  259. To calculate the size of a sample clip do this:
  260.  
  261.         S16SC_END - S16SC_START + 1
  262.  
  263. Notice the + 1 at the end! We add one to include the last sample. To play a
  264. sample you would do the following:
  265.  
  266.         1. Get size of the sampleclip (S16SC_END - S16SC_START + 1)
  267.         2. Seek() to S16SC_START + S16S_SIZEOF(sampleheader)
  268.         3. Read (buffered) size
  269.         4. Go to next SampleClip if SIZESUM~=S16S_EDITSIZE
  270.  
  271. As you can see it is quite easy and nifty. You should sum up all the sizes you
  272. get and compare them to S16S_EDITSIZE cause this will determine the end of the
  273. list. Of course, there are maximum 1024 SampleClips in the header so you may
  274. create a number-of-clip counter instead - what suit you most.
  275.  
  276. To store a SampleClip you do this:
  277.  
  278.         1. Init S16SC_START with start position in number of samples (excluding
  279.            sampleheader).
  280.         2. Init S16SC_END with end position - 1 (excl. header)
  281.         3. Sum up and store in S16S_EDITSIZE (remember to add one to S16SC_END
  282.            when summing).
  283.  
  284.  
  285. Regions:
  286.  
  287.  
  288. Regions are quite handy when you work with large files with many audible parts
  289. in it. A region defines an area in the sample which should contain its own
  290. settings such as frequency, volume, pan, smpte and so on. A region can be
  291. dropped on the Cuelist editor.
  292.  
  293. A region structure consists of the following:
  294.  
  295.         <region name>
  296.         <sampleclip>
  297.         <sampleinfo structure>
  298.         <reserved space>
  299.  
  300. Region name - It can be up to 40 bytes in length, but should be kept =< 24
  301.               bytes for compatibillity with the Studio 16 sample editor
  302.               (including null termination).
  303.  
  304. Sampleclip  - Describes start and end position of this region. Same rules as
  305.               for SampleClips (SIZE = _END - _START +1) apply here too.
  306.  
  307. Sampleinfo  - See top of file for info on the SampleInfo
  308.  
  309. Reserved space is ignored by Studio 16. Initialize with null.
  310.  
  311. There are room for 32 region definitions. To test if a file contains regions or
  312. if a region list ends, you test the first byte in the name for null. If null
  313. then it is empty or ended.
  314.  
  315. After Regions you will find the sampledata. The sampledata is always 16-bit
  316. stored in Motorola format (MSB first):
  317.  
  318.         One sample = [hibyte][lobyte] = signed word = 16-bit
  319.  
  320. This is the same format as with f.ex. AIFF files. To convert to wav files you
  321. will need to swap hibyte and lobyte. To convert CDDA files to Studio 16 samples
  322. you will also need to swap hibyte and lobyte as this is stored in Intel format
  323. like wav files. However, most CD reading software on the Amiga do this for you.
  324. Check the documentation of the software.
  325.  
  326. For more information on Studio 16 samples, refer to the include
  327. files and example sources.
  328.  
  329.  
  330.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  331.  
  332.  
  333.  
  334. MIXER
  335.  
  336. The mixer envelope file is a standard IFF file. It contains data for the
  337. Studio 16 mixer module on volume and pan settings during a Cuelist. The format
  338. is quite simple to read and understand.
  339.  
  340. The format consists of these chunks:
  341.  
  342.         [HEADER - IFF FORM [SIZE] "SRMX"]
  343.            <VOL >
  344.            <PAN >
  345.            <CHAN>
  346.  
  347. The three last chunks are repeated for each channel.
  348.  
  349. The volume and pan chunks size is always dividable by 8. This is because the
  350. first long word is the position and the second longword (both unsigned) is
  351. the value calculate as in the Sample file format.
  352.  
  353. A whole position in seconds is calculated like this:
  354.  
  355.         Seconds * 256 
  356.  
  357. If the seconds is '0' then use the range 0-255. You should use a resolution
  358. of 1/256th of a second.
  359.  
  360.  
  361. CHAN CHUNK
  362.  
  363.  
  364. The channel chunk consists of a 16 byte long preference structure:
  365.  
  366. (NOTE: I didn't have time to complete the format so the description below
  367.        may not be accurate!)
  368.  
  369. Card ID    - This describes what card using this channel. It will count from 0.
  370. Channel ID - This is the real-channel ID mark. The input channel is null while
  371.              the output channel is 13 relative to each card installed.
  372. Unknown    - <unknown at this time - init with -1>
  373. MIDI Prefs - This is the preferences for MIDI setup. Here you will find what
  374.              channel and controll ID to use for volume and pan controlling.
  375.              The MIDI channels can be any number within a MIDI channel limit
  376.              (0-15).
  377. Group      - Describes which faders are grouped together and what way.
  378. Unknown    - <unknown at this time - Seem to be a reserved field>
  379.  
  380.  
  381.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  382.  
  383.  
  384.  
  385. CUELIST FILE FORMAT
  386.  
  387. The cuelist fileformat is rather complex compared to Studio 16 sample files.
  388. They contain both absolute structures and variable structures so you will need
  389. to 'parse' the file everytime (in the sence that you need to obtain sizes on
  390. data in the beginning of the file to read something later in the file).
  391.  
  392. The Cuelist file is divided into several parts. It's roughly based on IFF
  393. files, but due to how it stores its strings (-> variable chunk sizes within a
  394. chunk and no alignment) it cannot be defined as a standard IFF file even though
  395. it interleave its chunks.
  396.  
  397. The Cuelist file is built like this (example):
  398.  
  399.         [HEADER]
  400.           <ID - Window size>
  401.           <Paths and names - vari size>
  402.           <MAIN HEADER - Prefs - flagpositions - etc>
  403.         [TRACKS]
  404.           <TYPE CHUNK - vari size>
  405.             <SAMP or EVNT CHUNK - vari size>
  406.             <...>
  407.           <END! MARK>
  408.           <TYPE CHUNK>
  409.             <SAMP or EVNT CHUNK>
  410.             <...>
  411.           <END! MARK>
  412.           <..etc..>
  413.           <TYPE CHUNK>
  414.             <SAMP or EVNT CHUNK>
  415.             <...>
  416.           <END! MARK>
  417.           <END! MARK>
  418.  
  419. There are four different chunks, one of the chunks can be two types and
  420. there is an end marker.
  421.  
  422. (NOTE: Before we move on you should bear in mind that all times in the
  423. Cuelist are calculated in seconds internally. Therefor there is no need to
  424. store if the Cuelist runs on a PAL or NTSC system since the Cuelist editor
  425. itself will recalculate the seconds into the format selected and relative
  426. to system type (PAL/NTSC)).
  427.  
  428.  
  429. The chunks are:
  430.  
  431. TLC1 - Is the header chunk containing window positions, preferences, flagmark
  432.        postions and more (the difference between Cuelist files and track files
  433.        is that track files doesn't have this header).
  434.  
  435. TYPE - Track header, can be Audio or AREXX type which differ in size
  436.  
  437. SAMP - If Audio type, then the track consists of this chunk. It defines sample
  438.        positions, sizes and misc attributes.
  439.  
  440. EVNT - If AREXX type, then the track consists of this chunk. It defines when to
  441.        start an arexx script and what port to use and comands to start.
  442.  
  443. END! - Ends a TYPE track and the file (double end mark). The end mark only
  444.        consists of a longword sized field with these letters.
  445.  
  446.  
  447. TLC HEADER CHUNK
  448.  
  449. You will have to read 20 bytes of the beginning. These bytes consists of:
  450.  
  451. ID              - ID of file (ID_TLC) is 'TLC1'
  452. Window left pos - The cuelist editor postions when saved. These values
  453. Window top pos    become the alternative values for the Cuelist window when
  454. Window height     the cuelist file is reloaded. To use them press the
  455. Window width      zip gadget in the window titleborder
  456.  
  457. The next section contains 4 strings which defines paths and names to Cuelist
  458. file and trackfiles:
  459.  
  460. [ULONG][TRACKPATH]      - first longword contains the size of the following
  461. [ULONG][TCUELISTPATH]     string. Note that these sizes may be NULL.
  462. [ULONG][TRACKNAME]
  463. [ULONG][CUELISTNAME]
  464.  
  465. You will need to parse the strings since they can vari in length. After you
  466. have parsed them you will get to the beginning of the main header data (parse
  467. here: read the length and seek/read forward the same length).
  468.  
  469. The main header consists of two parts:
  470.  
  471.         [PREFERENCES]
  472.         [FLAGMARKERS]
  473.  
  474. In the preference section you will find data about almost every specter on the
  475. Cuelist file. However you should be aware of that some settings you use in the
  476. Cuelist editor is not saved to the Cuelist file. The setting not saved are:
  477.  
  478.         PREFS:Display options
  479.         PREFS:Undo levels
  480.         Menu:Options/Keep original time
  481.         Menu:Options/Use Mixer levels
  482.         Menu:Options/Ignore SMPTE errors
  483.         Movers:Any Direction
  484.         Movers:Lock-To-Grid
  485.         Movers:Vertical Only
  486.         EditMode:Unlimited Crossfade
  487.         EditMode:Limited Crossfade
  488.         EditMode:Butt Edit
  489.  
  490. PREFERENCES
  491.  
  492. Fade-In type    - This field describes the global crossfade preferences. When
  493.                   you don't specify a local cross fade for a sample this
  494.                   setting will be used. There are four cross fade options:
  495.                         - Butt (no crossfade)
  496.                         - Linear
  497.                         - Logaritmic
  498.                         - Exponential
  499.  
  500. Fade-Out type   - Same as above just for crossfade-out.
  501.  
  502. Maximum time    - You can set a default maximum time for fades. In the
  503.                   preference window you will see this as microseconds, but it
  504.                   is stored as a double floating point value in seconds.
  505.                   If you have 1000ms in window it is stored as 1.0s, if you use
  506.                   740ms it is stored as 0.740s as an example.
  507.  
  508.                   To convert double float numbers to integer see the source
  509.                   example 'Float2Int.asm' or the mathieeedoubbas.library's
  510.                   autodoc.
  511.  
  512. Gridspacing     - This is the value the grid lines uses. It is a double float
  513.                   value and describes number of seconds to use between each
  514.                   gridline. Since you have a float number the value can be less
  515.                   than one second.
  516.  
  517. Start time      - Start time is where the Cuelist will start counting from.
  518.                   Note that this is not the Start flag, but the number refer to
  519.                   the cuelist itself. The value is stored in a doublefloat.
  520.  
  521. Total length    - This value describes the total length of the cuelist. It is
  522.                   stored like this:  seconds*100. This means that the end of
  523.                   the cuelist will be rounded to 1/100th of a second relative
  524.                   to the start time. Note that the cuelist may contain sample
  525.                   or event pointers past this value. This is an integer value.
  526.  
  527. ViewSize        - This is for visual preference only. This value describes the
  528.                   size of the cuelist you can see on your screen. It has no
  529.                   influence on start pointer etc. other than graphical reference
  530.                   such as zoom values.
  531.  
  532. ViewStart       - This is for visual preference only. This value describes the
  533.                   start of the cuelist in the view - that is, start of what you
  534.                   see on your screen. It has no influence on start pointer etc.
  535.                   other than graphical reference such as zoom values.
  536.  
  537. BPM             - An integer value of Beats Per minuttes. This value is stored
  538.                   even if it's not used.
  539.  
  540. BPM signature   - These two fields describe the beat and bar settings
  541.                   (signature). A signature could be 4/4 or 3/4 as an example.
  542.                   Each of these values is stored seperatly.
  543.  
  544. Time options    - Tells the cuelist editor what timer mode to use (note that
  545.                   all internal times are handled as seconds with float
  546.                   decimal). It can be one of these:
  547.  
  548.                         - Hours Minuttes Seconds
  549.  
  550.                           The cuelist will use clock numbers as timer
  551.  
  552.                         - SMPTE
  553.  
  554.                           SMPTE is usually used to sync video. This format
  555.                           contains SMPTE only.
  556.  
  557.                         - BPM
  558.  
  559.                           Here you get the BPM and number of bars (eg. music is
  560.                           often built with 16+16 bars in choruslines).
  561.  
  562.                         - SMPTE Plus
  563.  
  564.                           SMPTE Plus is the same as SMPTE, but in addition you
  565.                           have a frame resolution of 1/100th of a frame.
  566.  
  567.                   A convinient way of convert between these different timer
  568.                   formats is to provide routines to calculate the timeformats
  569.                   to seconds, and seconds to one of the timers.
  570.  
  571.  
  572. FLAGMARKERS
  573.  
  574. After the preference section you will find positions to all the flags. There
  575. are 14 flags in total: 10 jumpmarkers, one start flag, one locate flag and two
  576. punch (in/out) flags.
  577.  
  578. The section contains:
  579.  
  580.         [F-KEY MARKERS x10]
  581.         [LOCATE MARKER]
  582.         [START MARKER]
  583.         [PUNCH IN]
  584.         [PUNCH OUT]
  585.  
  586. Each marker has this structure:
  587.  
  588. Startposition    - This value is a double float value and describes what
  589.                    position the flag is at in seconds. If the flag isn't used
  590.                    you will find it initialized with -1.
  591.  
  592. View position    - This longword integer contains -1 if the flag is not in the
  593.                    view in the Cuelist editor and a value in seconds * 100 if
  594.                    you can see the mark in the editor. You may ignore this
  595.                    value (init with null) since this field is ignored by the
  596.                    cuelist editor itself (it recalcs graphical position at load
  597.                    time - internal graphical use only).
  598.  
  599. Comment          - This field contain an optional comment which can be up to 80
  600.                    bytes in length including a null termination. Note that this
  601.                    field has an absolute size contrary to the other strings in
  602.                    the format.
  603.  
  604. Reserved         - This field is reserved for ASCII representation. Only the
  605.                    locate mark uses this feature (I guess Sunrize never got the
  606.                    time to update the format to include the other markers). The
  607.                    ASCII text reflects the time-option used as well. All marks,
  608.                    except the locator mark, should have this field initialized
  609.                    with null.
  610.  
  611. At the end of the header you will find 100 bytes reserved space. You should
  612. skip this data.
  613.  
  614.  
  615. TYPE CHUNK
  616.  
  617.  
  618. After the header starts each track definitions. The track starts with a TYPE
  619. chunk which can be either for samples or arexx events.
  620.  
  621. After the TYPE name you will find a string which contains the name of the type
  622. used - the string is stored as [ULONG][TYPE NAME]. The ULONG value will always
  623. be five since Sunrize didn't implement other types than these two (AFAIK):
  624.  
  625. Audio - This string tell that this track is meant for samples only. Following
  626.         this type name is the Track name in the same format (all chunks use
  627.         the same format for string).
  628.  
  629.         After this name you will find a structure consisting:
  630.  
  631.         RATE  - This is frequency of the track. It is stored as a double float
  632.                 value.
  633.         PREFS - Here you will find preferences for entries that is unselected
  634.                 and selected, track mode (solo/sound/track on/off) and a
  635.                 'global' for this track which tells if there are selected
  636.                 entries on this track or not.
  637.  
  638.         Next is the name on the play channel (also a string) and then the
  639.         record channel. These are the "Any", "Input" etc. Note that they
  640.         may have prefixes in the file describing which card they use, f.ex:
  641.         One card system: "AD516.Play 1", multicard system: "AD516_#1.Input R".
  642.  
  643.         After these two string there are 100 bytes reserved space. You should
  644.         skip these bytes to get to the next chunk.
  645.  
  646. AREXX - This string tells that this track is meant for arexx only. As with
  647.         Audio type the next string describes the name of the track. The AREXX
  648.         TYPE chunk has another string following the name containing the name of
  649.         the arexx port to use. The AREXX type contains Track preferences
  650.         ("audio"/solo/track on/off etc.). See include files for more info. The
  651.         arexx type chunk also contains 100 reserved bytes you must skip to get
  652.         to the next chunk.
  653.  
  654.  
  655. SAMP CHUNK
  656.  
  657. The SAMP chunk is only allowed in a "Audio" track TYPE. The chunk consists of
  658. the following data:
  659.  
  660. [SAMPLEHEAD]
  661.  
  662. Status    - This shows if the entry is selected or not and if it exists on disk
  663.             or not. The latter is mostly for internal use for the Cuelist ED.
  664. Start pos - A double float value describes start position in cuelist in
  665.             seconds. This is relative to the cuelist start value.
  666. End pos   - At which postition the sample ends. Also a double float value.
  667. GroupID   - If this is ~0 then the value describes which group of samples this
  668.             sample belongs to. Each group shares the same value and the number
  669.             can be anything in a UBYTE range (even though it uses a longword in
  670.             these docs).
  671.  
  672. [SAMPLEPATH/NAME]
  673.  
  674. Next is the sample path and name on the sample in this chunk. Then you will get
  675. misc data about this entry:
  676.  
  677. [SAMPBODY]
  678.  
  679. Fade-In type    - This is the crossfade to use for this sample. See the Header
  680.                   structure for more information.
  681. Fade-Out type   - see the Header structure for more information.
  682. Fade-In time    - this double float value describes the time a fade-in will use
  683.                   in number of seconds. The value may be less than one second.
  684. Fade-Out time   - this double float value describes the time a fade-out will
  685.                   use in number of seconds.
  686. Crop In         - This value is start of the sample in number of samples
  687.                   relative to the Start position of the entry.
  688. Crop Out        - This is length of sample in number of samples. A sample is
  689.                   Size=CropOut - CropIn Start=StartPos+CropIn.
  690. Volume          - This is the volume to use for this entry. See the Sample file
  691.                   format doc on how the volume is stored.
  692. Pan             - This is the pan to use for this entry. See the Sample file
  693.                   format doc on how the volume is stored.
  694.  
  695. The reserved data must be skipped to get to the next chunk.
  696.  
  697.  
  698. EVNT CHUNK
  699.  
  700.  
  701. The EVNT chunk consists of the following data:
  702.  
  703. [EVENTHEAD]
  704.  
  705. The head keeps these datas:
  706.  
  707. Status    - Status of entry if it is selected or not.
  708. Start pos - Start position to trigger this event. The value is a double float
  709.             in number of seconds.
  710. End pos   - Init this field with the same value as Start pos.
  711. GroupID   - Same as with the SAMP chunk.
  712.  
  713. [NAME]
  714.  
  715. Next is the ulong+string holding the name of this entry. The name is just for
  716. the entry and has nothing to do with the scripts or comands.
  717.  
  718. [EVENTBODY]
  719.  
  720. The body only consists of a SMPTE stamp. The stamp is a recalculated version of
  721. the start position. The highest resolution here is number of frames.
  722.  
  723. [COMMANDS x9]
  724.  
  725. After the SMPTE stamp you will find 9x ulong+strings which describes the
  726. comands to start when the event is triggered. The string length may contain
  727. null.
  728.  
  729. [EVENTFOOTER]
  730.  
  731. After the comands you will find 50 bytes reserved space that must be skipped
  732. to get to the next chunk.
  733.  
  734.  
  735. END MARK
  736.  
  737.  
  738. If the track is ended you will find an end mark instead of a chunk. The
  739. end mark is a long word containing ASCII "END!". You must skip this longword
  740. to get to the next chunk. If there is a new end mark right after then it means
  741. that you are at the end of the file.
  742.  
  743.  
  744. -- End note:
  745.  
  746. You should be aware of that there are some fields we have not managed to
  747. deschiffer at this time. We will do our best to deschiffer these unknown fields
  748. and to document the behaviour of the fields we know what is, but not how they
  749. are calculalted (zoom values) although they are ignored by the Cuelist editor.
  750. We also believe that some fields are kept for backward compatibility.
  751.  
  752. What this document describes should be enough to convert Cuelist files to
  753. other formats (such as ASCII, CMX and other EDLs) and to alter the different
  754. settings. You should also be able to convert other formats to Cuelist format
  755. as well.
  756.  
  757. If you have information, suggestions and comments conserning this document and
  758. the way it is written please take contact.
  759.  
  760.  
  761.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  762.  
  763.  
  764.  
  765. TRACK FILE FORMAT
  766.  
  767. This page will be very brief. The reason for that is that a track (TRAX) file
  768. is the same as a cuelist file except it doesn't contain any header. A track
  769. file may contain one or more tracks of different types (Audio/AREXX). A track
  770. file is built like this:
  771.  
  772.         [HEADER]
  773.           <ID = TRAX>
  774.         [TRACKS]
  775.           <TYPE CHUNK - vari size>
  776.             <SAMP or EVNT CHUNK - vari size>
  777.             <...>
  778.           <END! MARK>
  779.           <TYPE CHUNK>
  780.             <SAMP or EVNT CHUNK>
  781.             <...>
  782.           <END! MARK>
  783.           <..etc..>
  784.           <TYPE CHUNK>
  785.             <SAMP or EVNT CHUNK>
  786.             <...>
  787.           <END! MARK>
  788.           <END! MARK>
  789.  
  790. The Cuelist copybuffer is also a TRAX file.
  791.  
  792. Please refer to the Cuelist file format description for more details on the chunks.
  793.  
  794.  
  795.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  796.  
  797.  
  798.  
  799. TOOL DESCRIPTIONS
  800.  
  801.  
  802.  AIFF2STUDIO16  - convert AIFF mono/stereo file to S16 file
  803.  -------------
  804.  
  805.         USAGE: <AIFF> <DestStudio>
  806.  
  807.         AIFF    = AIFF file to convert. The AIFF file can be mono or
  808.                   stereo, 8- or 16-bit format. 8-bit files will be
  809.                   converted to 16-bit files. Stereo files will be
  810.                   splitted and extended with _L and _R. Mono files will be
  811.                   extended with _MONO
  812.  
  813.         DestStudio = Destination path and filename base without any
  814.                      extensions.
  815.  
  816.  
  817.  CDDA2Studio    - Splits a CDDA in two Studio 16 files to path
  818.  -----------
  819.  
  820.         USAGE: <CDDA> <destpath/file> [-i]
  821.  
  822.         CDDA            = A CDDA image in Motorola or Intel format.
  823.                           CDDA -> 16-bit 2 channel raw file.
  824.         Destpath/file   = path and filename to put the Studio files
  825.         -i              = Use this option if CDDA is in Intel format.
  826.  
  827.  
  828.  Cuelist2GFX    - Graphical representation of a Cuelist
  829.  -----------
  830.  
  831.         USAGE: <Cuelist>
  832.  
  833.         From Workbench: double click and select a cuelist file
  834.         from the requester (if no file is given to the file from cli
  835.         it will pop up a requester as well).
  836.  
  837.         Use '?' for program info.
  838.  
  839.         NOTE: Program is made for DEMO usage only!
  840.  
  841.  
  842.  DumpCue        - Dumps the content of a cuelist file or trackfile
  843.  -------
  844.  
  845.         USAGE: <Cuelist file | Track file>
  846.  
  847.         Cuelistfile     = A Studio 16 cuelist file
  848.         Trackfile       = Or a track file
  849.  
  850.         NOTE: Program is made for DEMO usage only!
  851.  
  852.  
  853.  JoinAIFF       - joins two mono AIFF files to one stereo AIFF
  854.  --------
  855.  
  856.         USAGE: <MonoAIFF> <MonoAIFF> <DestStereoAIFF>
  857.  
  858.         MonoAIFF        = A mono AIFF file. One of two which will be
  859.                           joined into one stereo AIFF file. Both 8- and
  860.                           16-bit files are supported.
  861.                           Note that the size, frequency and bit resolution
  862.                           must be the same.
  863.         DestStereoAIFF  = The result of the joined mono AIFF files.
  864.  
  865.  
  866.  KStudioCheck   - Check which card(s) you have installed if any
  867.  ------------
  868.  
  869.     USAGE: <>
  870.  
  871.         Will report if you have a AD516, AD1012 or both cards installed
  872.         or none.
  873.  
  874.         Now count number of each card types and reports if any card is
  875.         in use.
  876.  
  877.  
  878.  RAW2STUDIO16   - convert raw 8/16bit intel/motorola file to S16
  879.  ------------
  880.  
  881.         USAGE: <RAWfile> <Studiobase> -8 -i
  882.  
  883.         RAWfile = Must be a stereo RAW file in 8- or 16-bit, Intel
  884.                   or Motorola format.
  885.         Studiobase = The name of the Studio 16 files.
  886.         -8      = use this option if the RAW stereo file is in
  887.                   8-bit format.
  888.         -i      = use this option if the RAW is in Intel format.
  889.  
  890.  
  891.  S16DownSample  - Half a sample in size (frequency is adjusted)
  892.  -------------
  893.  
  894.         USAGE: <Studio infile> <Studio outfile>
  895.  
  896.         Studio infile   = The Studio 16 file you want to half in size.
  897.         Studio outfile  = The new file which will be half in size and have
  898.                           the frequency halved as well (so playback will be
  899.                           the same as with the original).
  900.  
  901.         Note that there is no checking frequencies. This program is
  902.         designed to halve 44.1 khz files, but can be used with other
  903.         frequencies as well.
  904.  
  905.  
  906.  S16Fileinfo    - show some vital info about a S16 file
  907.  -----------
  908.  
  909.         USAGE: <Studio file> [-l] [-r]
  910.  
  911.         Studio file     = Studio file to dump info on. Dumps different
  912.                           settings of the file such as frequency, SMPTE,
  913.                           volume, PAN, filter, sizes etc.
  914.  
  915.         -l = List SampleClips
  916.         -r = List Regions (if any)
  917.  
  918.  
  919.  S16FixFile     - Try to fix a corrupt Studio 16 file
  920.  ----------
  921.  
  922.         USAGE: <Studio file> [options]
  923.  
  924.         Studio file     = Studio file to fix
  925.  
  926.         -c = clear region definitions
  927.  
  928.                 Force clearing of Region definitions. If you know there is
  929.                 an error and this program doesn't recognice it. Also useful
  930.                 for general clearing of Regions.
  931.  
  932.         -e = remove SampleClip list
  933.  
  934.                 Force a clearing of all edits (Undo All). The sizes will be
  935.                 corrected.
  936.  
  937.         -f = force file recognition
  938.  
  939.                 This option forces FixFile to ignore filerecognition. This
  940.                 can be useful where Studio 16 file header is corrupted. Note
  941.                 that non Studio 16 files may (most likely will) be
  942.                 corrupted.
  943.  
  944.         -i = force filter set to 1
  945.  
  946.         Set filter to 1 no matter what the original filter is set
  947.         to.
  948.  
  949.         -p = force pan set in center
  950.  
  951.                 Set pan to center (100) no matter what original pan is set
  952.                 to.
  953.  
  954.         -q = quiet
  955.  
  956.                 Don't output any log.
  957.  
  958.         -r = force frequency rate set to 44.1 khz
  959.  
  960.                 Force frequency of file to 44.1 kHz no mater what the
  961.                 original frequency is set to.
  962.  
  963.         -t = test only, no updating
  964.  
  965.                 When this option is used the program will not update
  966.                 anything on the file, only show what's wrong and not.
  967.  
  968.         -v = force volume to +0 dB
  969.  
  970.                 Force volume to +0 dB no matter what the original volume is
  971.                 set to.
  972.  
  973.         This program will try to correct a corrupted Studio 16 file. It will
  974.         correct filesizes, samplesizes, different settings, checksum
  975.         sampleclip tables and region tables. If you have a corrupted file
  976.         where you have lost a part of f.ex. the end, this program will most
  977.         likely succeed in correcting it. Main purpose is to allow the Studio
  978.         16 editor to load the file for additional edits after the file has
  979.         been corrected. You don't need any extra space for correcting the
  980.         file. Note that with some filesystems it may not be possible to
  981.         correct the filesize if of odd size. Works with official AI
  982.         filesystems and third party AFS filesystem is tested and work ok.
  983.         The program cannot correct bitmap errors on your disk! Use proper
  984.         software for correcting such errors.
  985.  
  986.         TIP: You can use this program as an "UndoAll" program as well. Use
  987.         it like this "S16FixFile <file> -e -t" and remove the '-t' when you
  988.         have seen that the file doesn't contain any other errors.
  989.  
  990.  
  991.  S16InitFilter  - Init Studio 16 files with filter set to 1
  992.  -------------
  993.  
  994.         USAGE: <Studio file>
  995.  
  996.         Studio file     = Studio 16 file to init filter to.
  997.  
  998.         This program was originally made due to a bug the beta version of
  999.         S16MakePermanent had which set frequecncy value in filter as well.
  1000.         To fix this is an easy way I made this little tool. There should not
  1001.         be any use of this tool per today, but I added it to the package
  1002.         anyway. Perhaps if you want to modify existing files with a different
  1003.         filter setting, then it could be useful. Oh well..
  1004.  
  1005.  
  1006.  S16IsPermanent - check if a Studio file contains edits
  1007.  --------------
  1008.  
  1009.         USAGE: <Studio file>
  1010.  
  1011.         Studio file     = Check this file if it contains SampleClips or
  1012.                           not. Useful from scripts.
  1013.  
  1014.  
  1015.  S16ListRegions - list all regions defined in a Studio file
  1016.  --------------
  1017.  
  1018.         USAGE: <Studio file>
  1019.  
  1020.         Studio file     = File to get list of regions on. The program will
  1021.                           return WARN if no regions was defined.
  1022.  
  1023.  
  1024.  S16MakePermanent - converts all edits to a permanent file
  1025.  ----------------
  1026.  
  1027.         USAGE: <Studio file>
  1028.  
  1029.         Studio file     = will convert this file's SampleClips to permanent
  1030.                           edits (like the "Make permanent" menu item in the
  1031.                           Studio 16 sampleeditor). The program do as Studio
  1032.                           16: convert to <file>.edit, deletes the original
  1033.                           after completion and renames <file>.edit to
  1034.                           <file>. It also deletes the .graph file if any.
  1035.  
  1036.         The program will skip files that are already permanented and return
  1037.         WARN.
  1038.  
  1039.  
  1040.  S16ReadFreq    - dumps frequency of a S16 file
  1041.  -----------
  1042.  
  1043.     USAGE: <Studio file>
  1044.  
  1045.         Studio File     = file to read the frequency from. Useful in
  1046.                           scripts.
  1047.  
  1048.  
  1049.  S16ReadPan     - dumps pan setting of a S16 file
  1050.  ----------
  1051.  
  1052.         USAGE: <Studio file>
  1053.  
  1054.         Studio File     = file to read the PAN setting from. Useful in
  1055.                           scripts.
  1056.  
  1057.  
  1058.  S16ReadSMPTE   - dumps SMPTE position of a S16 file
  1059.  ------------
  1060.  
  1061.         USAGE: <Studio file>
  1062.  
  1063.         Studio File     = file to read the SMPTE position from. Useful in
  1064.                           scripts.
  1065.  
  1066.  
  1067.  S16ReadVolume  - dumps volume setting of a S16 file
  1068.  -------------
  1069.  
  1070.         USAGE: <Studio file>
  1071.  
  1072.         Studio File     = file to read the volume from. Useful in scripts.
  1073.  
  1074.  
  1075.  S16Regions2Files - convert Regions to seperate files
  1076.  ----------------
  1077.  
  1078.         USAGE: <Studio file> <destdir/>
  1079.  
  1080.         Studio file     = Studio 16 file containing Region definitions.
  1081.                           The regions of this file will be extracted and
  1082.                           saved as seperate files using the region names.
  1083.                           Any spaces in the name are converted to
  1084.                           underscores.
  1085.         DestDir/        = Path only to where you want to save the files
  1086.  
  1087.  
  1088.         NOTE: This program doesn't consider actual SampleClips in the
  1089.         sample. If you experience faulty results then try to make your
  1090.         sample permanent (S16MakePermanent or editor menu).
  1091.  
  1092.  
  1093.  S16SetFreq     - modifies the frequency of a S16 file
  1094.  ----------
  1095.  
  1096.         USAGE: <Studio file> <frequence>
  1097.  
  1098.         Studio file     = file to alter
  1099.         Frequence       = new frequency to set in the file
  1100.  
  1101.  
  1102.  S16SetPan      - modifies the pan setting of a S16 file
  1103.  ---------
  1104.  
  1105.         USAGE: <Studio file> <pan>
  1106.  
  1107.         Studio file     = file to alter
  1108.         PAN             = new PAN setting to set in the file
  1109.  
  1110.  
  1111.  S16SetSMPTE    - modifies the SMPTE position of a S16 file
  1112.  -----------
  1113.  
  1114.         USAGE: <Studio file> <SMPTE>
  1115.  
  1116.         Studio file     = file to alter
  1117.         SMPTE           = new SMPTE to set in the file. Set the SMPTE like
  1118.                           this: HH:MM:SS:FF (H=Hours, M=Minutes, S=Seconds,
  1119.                           F=Frames).
  1120.  
  1121.         Example:
  1122.                 S16SetSMPTE TestFile_MONO 00:01:12:22
  1123.  
  1124.  
  1125.  S16SetVolume   - modifies the volume setting of a S16 file
  1126.  ------------
  1127.  
  1128.         USAGE: <Studio file> <Volume>
  1129.  
  1130.         Studio file     = file to alter
  1131.         Volume          = new volume to set in the file
  1132.  
  1133.  
  1134.  S16StampRegions - copy SMPTE from file and put in Regions
  1135.  ---------------
  1136.  
  1137.         USAGE: <Studio file>
  1138.  
  1139.         Studio file     = the file containing SMPTE stamp and regions.
  1140.  
  1141.         Note that the SMPTE must be greater than >00:00:00:00
  1142.  
  1143.  
  1144.  S16Time        - Calculates the time in hours/min/sec of a sample
  1145.  -------
  1146.  
  1147.         USAGE: <Studio 16 sample>
  1148.  
  1149.         This tool will dump the time this sample will use to finish playing.
  1150.         The tool consider the edited size, not the real size as the edited
  1151.         size is the one the editor and the rest of Studio 16 will use.
  1152.  
  1153.  
  1154.  S16UpSample    - doubles a sample in size (with interpolating)
  1155.  -----------
  1156.  
  1157.         USAGE: <Studio infile> <Studio outfile> [-i]
  1158.  
  1159.         Studio infile   = The Studio 16 file you want to double in size.
  1160.         Studio outfile  = The new file which will be double in size and
  1161.                           have the frequency doubled as well (so playback
  1162.               will be the same as with the original).
  1163.         -i              = use this option to use interpolating when
  1164.                           upsampling. Interpolating will cause much better
  1165.                           quality on the new sample!
  1166.  
  1167.         Note that there is no checking of frequencies. This program is
  1168.         designed to double 22 khz files, but can be used with other
  1169.         frequencies as well (at own risk!).
  1170.  
  1171.  
  1172.  SplitAIFF      - splits a stereo AIFF into two mono AIFF files
  1173.  ---------
  1174.  
  1175.         USAGE: <StereoAIFF> <monoAIFF base>
  1176.  
  1177.         StereoAIFF      = Stereo AIFF in 8- or 16-bit format to split.
  1178.         monoAIFF base   = name of the two new mono AIFF files that will be
  1179.                           created. Each file get extended with .L and .R
  1180.  
  1181.  
  1182.  SplitCDDA      - splits Stereo RAW file (eg. CDDA) to S16 files
  1183.  ---------
  1184.  
  1185.         USAGE: <RAW Stereofile (CDDA)>
  1186.  
  1187.         RAWfile = Must be a stereo RAW file in 16-bit format.
  1188.                   This program is specially designed to convert
  1189.                   CDDA files created with MakeCD.
  1190.  
  1191.         The Studio 16 files will be put in same dir extended with _L and
  1192.         _R.
  1193.  
  1194.         NOTE: SplitCDDA is replaced by CDDA2Studio. SplitCDDA kept for
  1195.         script compatibility.
  1196.  
  1197.  
  1198.  SplitCDDAI     - same as above, but CDDA is in Intel format
  1199.  ----------
  1200.  
  1201.     USAGE: <RAW Stereofile (CDDA) in Intel format)>
  1202.  
  1203.     NOTE: SplitCDDAI is replaced by CDDA2Studio. SplitCDDA kept for
  1204.     script compatibility.
  1205.  
  1206.  
  1207.  Studio2AIFF    - convert a Studio 16 file to AIFF format
  1208.  -----------
  1209.  
  1210.         USAGE: <Studio file> <AIFF>
  1211.  
  1212.         Studio file     = Studio 16 file to convert
  1213.         AIFF            = Name on mono AIFF file to be created
  1214.  
  1215.         This program converts a single Studio 16 file into a mono 16-bit
  1216.         AIFF file. It now supports Studio 16 files which contains edits.
  1217.         The AIFF file will be a result of the edits in the Studio file.
  1218.  
  1219.  
  1220. ---------------------------------------------------------------------------
  1221.   SCRIPT/BATCH DOCS
  1222. ---------------------------------------------------------------------------
  1223.  
  1224.  CDDA2Studio    - splits, converts and moves in one go
  1225.  -----------
  1226.  
  1227.         USAGE: PATTERN/A,DESTDIR/A,INTEL/S
  1228.  
  1229.         Converts many CDDA files to stereo Studio 16 files. If the CDDA
  1230.         files are in Intel format use the INTEL switch. The files will be
  1231.         put in destdir with the name + extension _L and _R
  1232.  
  1233.  
  1234.  ConvertAIFF2Studio - pattern matching (see above)
  1235.  ------------------
  1236.  
  1237.         USAGE: PATTERN/A,DESTDIR/A
  1238.  
  1239.         Converts many AIFF files (8- or 16-bit, mono or stereo) to Studio
  1240.         16 files. The files will be put in DESTDIR and extended with _L, _R
  1241.         or _MONO.
  1242.  
  1243.  
  1244.  ConvertRAW2Studio - pattern matching (see above)
  1245.  -----------------
  1246.  
  1247.         USAGE: PATTERN/A,DESTDIR/A,8BIT/S,INTEL/S
  1248.  
  1249.         Converts many RAW files in 16-bit mono format to Studio 16 files.
  1250.         The files will be put in DESTDIR with original names and extended
  1251.         with _MONO. Use the switch 8BIT for 8bits RAW files. These will be
  1252.         converted to 16-bit. INTEL switch is used for Intel formatted RAW
  1253.         files. Options can be combined.
  1254.  
  1255.  
  1256.  ConvertStudio2AIFF - pattern matching (see above)
  1257.  ------------------
  1258.  
  1259.         USAGE: PATTERN/A,DESTDIR/A
  1260.  
  1261.         Converts many Studio files to mono AIFF files. The AIFF files will
  1262.         be put in DESTDIR with original names extended with ".aiff"
  1263.  
  1264.  
  1265.  DownsampleStudio - pattern matching (see above)
  1266.  ----------------
  1267.  
  1268.         USAGE: PATTERN/A,DESTDIR/A
  1269.  
  1270.         Downsamples many files. The result files will be put in DESTDIR and
  1271.         extended with ".ds".
  1272.  
  1273.  
  1274.  MakePermanent  - Makes many files permanented
  1275.  -------------
  1276.  
  1277.         USAGE: PATTERN/A
  1278.  
  1279.         With this batch you can make many files permanent if they are not
  1280.         already permanented.
  1281.  
  1282.  
  1283.  StereoAIFF2Studio - splits a stereo AIFF file to two Studio files
  1284.  -----------------
  1285.  
  1286.         USAGE: AIFFFILE/A,STUDIOBASE/A
  1287.  
  1288.         This script will split a stereo AIFF file (8/16 bit) and convert
  1289.         them to Studio 16 files. STUDIOBASE can be path and name. Name will
  1290.         be extended with _L and _R.
  1291.  
  1292.  
  1293.  Studio2StereoAIFF - convert and joins AIFF files in one go
  1294.  -----------------
  1295.  
  1296.         USAGE: LEFT/A,RIGHT/A,DESTFILE/A
  1297.  
  1298.         Converts a Left and Right Studio 16 file to a stereo AIFF file.
  1299.  
  1300.  
  1301.  UpsampleStudio - pattern matching (see above)
  1302.  --------------
  1303.  
  1304.         USAGE: PATTERN/A,DESTDIR/A
  1305.  
  1306.         Upsamples many files. The result files will be put in DESTDIR and
  1307.         extended with ".us".
  1308.  
  1309.  
  1310.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  1311.  
  1312.  
  1313. (latest version of the FAQ is available from here)
  1314.  
  1315.  
  1316. AD516/AD1012/Studio16 Frequently Asked Questions v1.12
  1317.  
  1318. Authors: Floyd Diebel <mailto:fdiebel@emrl.com>                         
  1319.          Kenneth "Kenny" Nilsen <mailto:kenny@bgnett.no>
  1320.  
  1321. Table of contents
  1322.  
  1323. 0 - Introduction
  1324.      0.1 - About this FAQ
  1325.      0.2 - Legal mumbo jumbo
  1326.      0.3 - Disclaimer
  1327.      0.4 - Acknowlegdment
  1328.  
  1329. 1 - Basic Information                      
  1330.      1.1 - About the Hardware
  1331.      1.2 - About the Software    
  1332.      1.3 - About the Manufacturer
  1333.  
  1334. 2 - Hardware/Software Support
  1335.      2.1  - Is there any external software support for AD516/AD1012/Studio16?
  1336.      2.2  - Can I use the AD516 with Newtek's Video Toaster?
  1337.      2.3  - Can I use Studio16 with DPS Inc.'s Personal Animation Recorder? 
  1338.      2.4  - Is there an AHI driver for the AD516/AD1012?
  1339.      2.5  - Can Studio16 import/export CMX files?
  1340.      2.6  - Where can I get details on Studio 16's fileformat ?
  1341.  
  1342. 3 - Miscellaneous Questions
  1343.      3.1  - What is the latest version of Studio 16 ?
  1344.      3.2  - Does the AD516/AD1012 read and output SMPTE timecode?
  1345.      3.3  - Does Studio16 support the use of graphics cards?
  1346.      3.4  - Can I use an external mixer with Studio16?
  1347.      3.5  - Are there any known problems or limitations with Studio16?
  1348.      3.6  - Why can't I save some of the mixer settings? 
  1349.      3.7  - Does AFS (Ami-File-Safe) work with Studio 16?
  1350.  
  1351. A - Appendix and Extra Information
  1352.      A.1  - What is a 'DSP' ?
  1353.      A.2  - Is there a mailing list for Studio 16 ?
  1354.      A.3  - Where can I find updated software ?
  1355.      A.4  - Is there a support page for Studio 16 ?
  1356.      A.5  - Where can I contact Sunrize Industries ?
  1357.  
  1358.       
  1359. 0. Introduction
  1360.  
  1361. 0.1 - About this FAQ
  1362.  
  1363.     This is the Studio 16 mailing list's Frequently Asked Questions and 
  1364.     their answers. The purpose of the FAQ is to be a resource on
  1365.     answers and information. Its secondary purpose is also to prevent
  1366.     questions from being asked over and over again.
  1367.  
  1368.     The FAQ is very small at this time, but hopefully this will change 
  1369.     in the future.
  1370.  
  1371.     You can get this FAQ via email at studio16@emrl.com.  Place 'get
  1372.     faq' in the subject header.  Any other subject header will return
  1373.     a help file describing the available commands.
  1374.     
  1375.     This way you will always be certain of that you get the latest
  1376.     updated and corrected FAQ. The latest version of the FAQ will also
  1377.     be uploaded to Aminet in docs/misc.
  1378.  
  1379.     Bear in mind that this FAQ is not an usermanual, nor a developer 
  1380.     document.  It's purpose is only to answer commonly/frequently
  1381.     asked questions.
  1382.  
  1383.     If you have corrections, questions/answers or suggestions contact FAQ
  1384.     author at <mailto:fdiebel@emrl.com>.
  1385.  
  1386. 0.2 - LEGAL MUMBO JUMBO (stolen from AmiTCP FAQ :-S )
  1387.  
  1388. THIS DOCUMENT IS COPYRIGHT KENNETH KENNY NILSEN AND FLOYD DIEBEL. 
  1389. PERMISSION IS GRANTED FOR THIS DOCUMENT TO BE FREELY DISTRIBUTED COMPLETE
  1390. AND UNALTERED. IN ADDITION, ANY PORTION OF THIS DOCUMENT MAY BE
  1391. DISTRIBUTED ON USENET, SO LONG AS THE CREDITS ARE INCLUDED IN ANY
  1392. PORTION THAT INCLUDE MORE THAN TWO ANSWERS. FOR THE  PURPOSES OF THIS
  1393. LICENSE, USENET IS ANY DATA STREAM OR FILE COLLECTION WHICH  USES  ALL
  1394. DOCUMENTS POSTED TO ANY NEWSGROUP THIS ARTICLE IS POSTED TO.
  1395.  
  1396. 0.3 - DISCLAIMER (also stolen..)
  1397.  
  1398. IF YOU SCREW UP, IT'S YOUR FAULT AND NOT OURS. THIS INFORMATION IS
  1399. PROVIDED "AS IS" AND ANY DAMAGE OCCURING TO YOU OR YOUR EQUIPMENT IS YOUR
  1400. OWN FAULT.  KENNETH "KENNY" NILSEN AND FLOYD DIEBEL DISCLAIM  ANY
  1401. LIABILITY OF ANY KIND FOR DAMAGES THAT MAY OCCUR FROM USE OF THE
  1402. INFORMATION WITHIN THIS FAQ.
  1403.  
  1404. KENNETH "KENNY" NILSEN AND FLOYD DIEBEL ALSO DISCLAIM ANY LIABILITY AS
  1405. TO THE INFORMATION'S ACCURACY.  WHILE MUCH EFFORT HAS GONE INTO PROVIDING
  1406. ACCURATE DATA, THERE IS NO GUARANTEE WHAT-SO-EVER.
  1407.  
  1408. 0.4 - Acknowlegdement
  1409.  
  1410.     Thanks to the people on the Studio 16 mailinglist for questions and
  1411.     answers, and for letting the FAQ appropiate their posts.
  1412.  
  1413.     I would also like to thanks Pauli Perkka for hosting this FAQ and 
  1414.     being the 'official' Studio16add.lha distributor.
  1415.  
  1416.  
  1417. 1. Basic Information
  1418.      
  1419. 1.1 - About the Hardware
  1420.  
  1421.     Taken from a Sunrize Industries promotional brochure:
  1422.  
  1423.     AD516
  1424.       Features stereo in, stereo out connectors plus a SMPTE-in jack.
  1425.       Supports 16 bit, CD quality at rates of up to 48,000 samples
  1426.       per second and 8 track playback from hard disc.
  1427.  
  1428.     AD1012
  1429.       With mono in, mono out, one-channel audio mono digitization and
  1430.       and 12 bit resolution, the AD1012 is capable of sampling rates
  1431.       of up to 48,000 samples per second.  It includes four channels
  1432.       of 12 bit audio playback and reads SMPTE code.
  1433.  
  1434.     DD524*
  1435.       The DD524 Digital Audio I/O Board adds AES/EBU and an S/PDIF
  1436.       digital audio input/output to your Amiga computer enabling you
  1437.       to transfer data directly to and from Digital Audio Tape.
  1438.       Supported by Studio 16 editing software, as well as hard disc
  1439.       backup software, the DD524 supports 16 or 24 bit samples, 
  1440.       44.1KHz or 48KHz sampling rates and stereo.
  1441.           
  1442.     * To the best of the author's knowledge, this card was never
  1443.       released - this information is included for historical
  1444.       interest only.
  1445.  
  1446. 1.2 - About the Software    
  1447.  
  1448.     Taken from a Sunrize Industries promotional brochure:
  1449.  
  1450.     Studio 16's modular controls easily integrate with each other
  1451.     and outside software packages....Cue List lets you coordinate and
  1452.     synchronize hundreds of sounds to either internal or external
  1453.     SMPTE time code by using your mouse to activate any editing 
  1454.     function....Using Mixer, you can adjust the volume and pan of 
  1455.     each channel in real time as you would with a "real" mixer....Built
  1456.     in SMPTE Time Code Monitor displays time code on your screen, and
  1457.     can be genlocked to make a window dub....Studio 16's meters 
  1458.     display sound levels for each track on traditional VU and bar
  1459.     graph meters with peak hold....Waveform Editor lets you edit
  1460.     multiple waveforms simultaneously and cut and paste one digital
  1461.     sound into another.
  1462.      
  1463. 1.3 - About the Manufacturer
  1464.  
  1465.     Sunrize Industries was the company that made the AD516/AD1012
  1466.     cards and its software, Studio 16.  Sunrize Industries no longer
  1467.     exist as they closed for business in March 1995.
  1468.  
  1469.  
  1470. 2. Hardware/Software Support
  1471.  
  1472. 2.1 - Is there any external software support for AD516/AD1012/Studio16?
  1473.  
  1474.     Yes, including the following:
  1475.  
  1476.     Audio Thunder (Asimware, $89 USD) 
  1477.     Supports conversion and sequencing of Studio16_2 format files into
  1478.     a number of formats, including CDDA, Flyer Audio, AIFF, etc.
  1479.  
  1480.     Bars and Pipes Professional (Blue Ribbon, $FREE) 
  1481.     Allows Studio 16 to run on the B&P screen with the SunSet
  1482.     accessory, and syncing via internal SMPTE with the SunMPTE
  1483.     accessory.  Studio16 versions earlier than 3.0 use the SunOut and
  1484.     SunTrack tools, which will crash under Studio16 v3.0+.  These
  1485.     tools should have been included with your copy of Studio16.
  1486.  
  1487.     Sample Wrench (dissidents, $299 USD!) 
  1488.     An excellent sound editor and processor, and the current version
  1489.     (3.1) allows Studio 16 to be used for playback.  Sample length
  1490.     is limited to available ram, however.
  1491.  
  1492.     AudioLab (Maurizio Ciccione, $125 USD) 
  1493.     A sound processor, file format converter, sequencer (includes a
  1494.     variation on Studio16's cuelist), filter designer, and lots more.
  1495.     Does not allow for playback through the AD516/AD1012.
  1496.  
  1497.     Scala MM400 
  1498.     Scala has an EX driver for the cards which allow you sync upto two
  1499.     samples (stereo) and play them through the AD516/AD1012.
  1500.  
  1501.     SoundFX (Shareware, $25 USD)
  1502.     An excellent array of effects and processing tools.  Will load
  1503.     files in the Studio16_2 format.  Does not allow for playback 
  1504.     through the AD516/AD1012, and sample length is limited to 
  1505.     available ram.
  1506.  
  1507. 2.2 - Can I use the AD516 with Newtek's Video Toaster?
  1508.  
  1509.     If you have the Toaster Handler software from Sunrize, you will
  1510.     be able to use 1-2 tracks of audio on the AD516 with Studio16,
  1511.     even while the amiga is locked doing the Toaster's transitions.
  1512.     Without the Toaster Handler, this is not possible.
  1513.  
  1514. 2.3 - Can I use Studio16 with DPS Inc.'s Personal Animation Recorder? 
  1515.  
  1516.     Yes.  The PAR will sync to Studio16's internal SMPTE timecode
  1517.     easily and reliably, with no added software.
  1518.  
  1519. 2.4 - Is there an AHI driver for the AD516/AD1012?
  1520.  
  1521.     Not at this time. There are at least two teams working on achieving 
  1522.     this.  One of the teams involves former Sunrize Industries employee 
  1523.     Ben Fuller. The second team (us) is working from Sunrize docs and
  1524.     specs only.
  1525.  
  1526. 2.5 - Can Studio 16 import/export CMX files?
  1527.  
  1528.     No. The Cuelist can export an ASCII list, but does not support CMX
  1529.     directly. We are working on getting this support.
  1530.  
  1531. 2.6 - Where can I get details on Studio 16's fileformat ?
  1532.  
  1533.     You can get it from Pauli Porkka's Amiga soundcard page
  1534.     <http://www.iki.fi/~pporkka/> and from Aminet at
  1535.     <ftp://ftp.wustl.edu/pub/aminet/dev/misc/Studio16add.lha>
  1536.  
  1537.  
  1538. 3 - Miscellaneous Questions
  1539.  
  1540. 3.1 - What is the latest version of Studio 16 ?
  1541.  
  1542.     The latest version is 3.01A. The difference between 3.01 and 3.01A 
  1543.     is the AD516-handler file.  On the author's system, the newer
  1544.     handler seemed to clear up minor startup problems when using
  1545.     multiple AD516 cards.
  1546.  
  1547. 3.2 - Does the AD516/AD1012 read and output SMPTE timecode?
  1548.      
  1549.     The AD516 and the AD1012 both read external SMPTE timecode, 
  1550.     provided it is LTC format.  Users of VITC need to use and external
  1551.     LTC converter.  Studio 16 also outputs an 'internal' timecode, 
  1552.     which can control and interface with things such as Bars and Pipes
  1553.     Professional and the DPS Personal Animation Recorder.  Neither the
  1554.     AD516 nor the AD1012 can 'stripe' tape, or output an external
  1555.     SMPTE signal.  An extra program available from Sunrize, called
  1556.     SMPTEOut, allows the Amiga's built-in audio to output SMPTE
  1557.     code, in LTC format, and this can be used to control external
  1558.     devices, or 'stripe tape'.  No Sunrize hardware is required to
  1559.     run this software.  Some notes from users:
  1560.  
  1561. From: D_Reynolds <danr@loop.com>
  1562.  
  1563. Yes, I have it [the SMPTEOut module]. I bought it with the AD516 a few
  1564. years back and was never able to get good results with it.
  1565.  
  1566. If I recorded time code on to a tape with it, it seems 
  1567. that my edit controller couldn't always "follow" it, as
  1568. if the code was intermittent or there was a variation in 
  1569. record level or something. If I used timecode that was 
  1570. hardware generated, from my camera or my TC generator, 
  1571. I never had problems during editing.
  1572.  
  1573. BTW, I use the Panasonic AG7750 S-VHS decks, a WVF-250
  1574. 3CCD camera w/AG7450 dockable S-VHS deck and the controller
  1575. is a TAO Editizer, (PC based) and has a built-in TC generator.
  1576.  
  1577. >From jacob@iag.net Sat Dec  6 16:23:32 1997
  1578.  
  1579. I have never had a problem with the SMPTEoutput being read by video
  1580. hardware.  However, I have always used the "sync to video" and striped tape
  1581. with the genlock active.  I imagine it possible that some problems would
  1582. occur with SMTPE LTC timecode not synced to the video timing.
  1583.  
  1584. 3.3 - Does Studio 16 support the use of graphics cards?
  1585.      
  1586.     Yes, although there are a few problems.
  1587.  
  1588. >From sag@cae.ca Sun Nov 30 15:42:22 1997:
  1589.  
  1590. I've been using Studio16 & B&P together on a Picasso II/CyberGraphx 1600 x 1300
  1591. virtual screen  (running under an 800 x 600 resolution mode-I think) for a few
  1592. years now . The Studio16 s/w runs (surprisingly!) very well on a Picasso II 
  1593. screen (A2000). Can't say I've ever had any graphic-specific problems with
  1594. it. The problems I've encountered are usually with B&P. Ex: The notes show
  1595. up as lines.
  1596.  
  1597. On Thu, 27 Nov 1997, Bob Maple wrote:
  1598.  
  1599. I have a Spectrum board running CyberGraphX and Studio16 is so-so on it. 
  1600. Sometimes playback will 'hiccup' when the cuelist scrolls, the editor is
  1601. nearly un-usable because it's so slow to drag the mouse around, and if I flip
  1602. screens while playing back, the output hiccups.
  1603.  
  1604. >From fdiebel@boulez.emrl.com Sun Nov 30 15:43:03 1997:
  1605.  
  1606. i use the studio16 through a retinaII with the retinaemu software in
  1607. 1024x768 mode, and it works great.  the only problem i've noticed is some 
  1608. random characters appearing in the top of the cuelist.  other than that,
  1609. perfect - screen switching and everything.  of course, this card isn't
  1610. nearly as supported as most others, i.e., it doesn't run with cybergrafx
  1611. or picasso96 software.
  1612.  
  1613. 3.4 - Can I use an external mixer with Studio 16?
  1614.  
  1615.     Yes.  Sunrize recommended the JL Cooper Fadermaster specifically,     
  1616.     but any MIDI capable mixer should work.    
  1617.  
  1618. 3.5 - Are there any known problems or limitations with Studio 16?
  1619.  
  1620.     There are a few, and the will affect some users more than others.
  1621.       - Limited hardware input channels.  Each AD516 comes with only
  1622.         two inputs (the AD1012 is mono, with one input).  This problem
  1623.         can be solved by installing more cards - up to four AD516 
  1624.         cards can be installed in one machine, giving the user eight
  1625.         inputs.
  1626.       - No effects loop capability with Studio 16's mixer module.  If
  1627.         you have more than one AD516 installed in your machine, you 
  1628.         can sort of 'kludge' an 'effects loop' together, but it is not
  1629.         ideal.
  1630.       - Mixing tracks on the fly with only a mouse can be frustrating,
  1631.         as well as time consuming.  This problem can be solved 
  1632.         somewhat with an external hardware MIDI mixer.  See item 3.5.
  1633.  
  1634. 3.6 - Why can't I save some of the mixer settings? 
  1635.  
  1636.     The mixer module or Studio 16 has a bug which simply 'forgets' to 
  1637.     save the settings.  This may have been a "safety" feature 
  1638.     implemented by Sunrize, in the same way the Cuelist's ON/OFF 
  1639.     button always defaults to OFF upon starting up. 
  1640.     In any event, a patch will be made so that user's can choose.  
  1641.  
  1642. 3.7  - Does AFS (Ami-File-Safe) work with Studio 16?
  1643.  
  1644.     Yes, but your mileage may vary.
  1645.  
  1646. From: CMM <turk@gulftel.com>
  1647.  
  1648. I have used AFS for over two year and have *never* had a problem with it.
  1649. Regarding AFS file transfers being slower, this is simply not true. AFS is
  1650. much, much faster than FFS with the same amount of buffers. Set up a 
  1651. partition with FFS and on with AFS, set the buffers for each to 500 and
  1652. run some test. You will find that AFS is tremendously faster.
  1653.  
  1654. >From jacob@iag.net Mon Dec  8 11:10:58 1997
  1655.  
  1656. All AFS gives you mostly is a caching file system. Since your controller
  1657. and drives are rather slow, you may see good improvement (but at the expense
  1658. of CPU usage). AFS has some other minor limitations that make it less
  1659. desirable (most important are the lack of good recovery file utilities in
  1660. case of corruption - despite what the docs say the filesystem can be
  1661. corrupted).
  1662.  
  1663. You can use HDToolbox to set the block size (up to 32k blocks! Four times
  1664. the size of what the Big Blocks program sets (8k blocks). Just make sure
  1665. you use the FastFileSystem that comes with Studio16 (or newer). And as to
  1666. making the drive disappear, I hope you know you have to reformat the drive
  1667. for the change to take effect.
  1668.  
  1669. From: Frederick Abrams <100743.1717@compuserve.com>
  1670.  
  1671. I stopped using AFS before under worse conditions whereby someone installed
  1672. it on my system which he claimed would resolve bad block and checksum error 
  1673. troubles which were frequent. This only added to the salad of troubles as I
  1674. later discovered that the problem was caused by damage to the hard drive. 
  1675.  
  1676. But there is no question from my limited experience, that AFS improves
  1677. dramatically on the performance of Studio16.
  1678.  
  1679.  
  1680. A - Appendix and Extra Information
  1681.  
  1682. A.1  - What is a 'DSP' ?
  1683.  
  1684.     DSP stands for Digital Signal Processor. It is a little chip that is
  1685.     capable of handling different kinds of signals in realtime. A DSP can 
  1686.     be programmed to do certain operation on signals. The ADSP2105 in
  1687.     the Sunrize audio cards is designed to operate on audio signals.
  1688.  
  1689. A.2  - Is there a mailing list for Studio 16 ?
  1690.  
  1691.     Yes, there is. To join the list you simply send
  1692.  
  1693.     mailto:majordomo@thule.no
  1694.  
  1695.     with a body message that only contains this line:
  1696.  
  1697.     subscribe studio16
  1698.  
  1699.     After you get confirmed your subscription you enter or reply to 
  1700.     the address studio16@thule.no
  1701.  
  1702.     The mailinglist is hosted by the people that made Thor (offline news
  1703.     and email reader, ftp://ftp.wustl.edu/pub/aminet/comm/thor/).
  1704.  
  1705. A.3  - Where can I find updated software ?
  1706.      
  1707.     You will find it on Aminet. It will be announced on the mailing
  1708.     list and in comp.sys.amiga.announce.  You will find the main
  1709.     add-on archive which contains all updated tools on Aminet in
  1710.     ftp://ftp.wustl.edu/pub/aminet/dev/misc/Studio16add.lha and on 
  1711.     Pauli Porkka's Amiga Audio Card page http://www.iki.fi/~pporkka/
  1712.  
  1713. A.4  - Is there a support page for Studio 16 ?
  1714.  
  1715.     Not at this time other than the one mentioned in A.3.
  1716.  
  1717. A.5  - Where can I contact Sunrize Industries ?
  1718.  
  1719.     You can't. Sunrize do not longer exists and the former employees 
  1720.     are hard to get hold of - and if you do they don't reply on Studio
  1721.     16 questions..
  1722.  
  1723.  
  1724. Copyright © 1997 by Floyd Diebel & Kenneth "Kenny" Nilsen
  1725.  
  1726.  
  1727.  
  1728. RESOURCE POINTERS
  1729.  
  1730.         Studio16 add-on archive can be downloaded from:
  1731.  
  1732.            ftp://ftp.wustl.edu/pub/aminet/dev/misc/Studio16add.lha
  1733.            http://www.youngmonkey.ca/hands/files/Sunrize/index.html
  1734.            Automail: kenny@bgnett.no, type 'get studio16add' in subject
  1735.            And the Amiga audio card page (see below)
  1736.  
  1737.         Frequently Asked Questions (FAQ) can be downloaded from:
  1738.  
  1739.        Automail: studio16@emrl.com, type 'get faq' in subject line.
  1740.            ftp://ftp.wustl.edu/pub/aminet/docs/misc/Studio16FAQ.lha
  1741.            And the Amiga audio card page (see below)
  1742.  
  1743.         The Amiga audio card page:
  1744.  
  1745.            http://www.iki.fi/~pporkka/main.html
  1746.            Offical host for Studio16add.lha and the FAQ
  1747.  
  1748.         *** MAILINGLIST -
  1749.  
  1750.            To join send mailto:majordomo@thule.no
  1751.  
  1752.            In body text type: subscribe studio16 <your email>
  1753.            without < > marks and only send this one line.
  1754.  
  1755.            When you get repons you enter/reply to studio16@thule.no
  1756.  
  1757.            IMPORTANT: DO NOT USE FAKE ADDRESSES AS THESE WILL BOUNCE!
  1758.  
  1759.         The (unoffical) Studio 16 webpage:
  1760.  
  1761.            http://www.youngmonkey.ca/hands/files/Sunrize/index.html
  1762.  
  1763.         (A)DSP resources:
  1764.  
  1765.          http://www.analog.com/publications/documentation/documentation.html
  1766.          http://www.ece.rutgers.edu/~orfanidi/ezkitl/ezkitl.html
  1767.          http://www.geocities.com/CapeCanaveral/Lab/2885/fx.htm
  1768.  
  1769.         Audio effects and misc resources
  1770.  
  1771.         FFT
  1772.  
  1773.         http://theory.lcs.mit.edu/~fftw/fft-links.html
  1774.         ftp://princeton.edu/pub/music
  1775.         http://www.prosoniq.com/time_pitch_faq.html
  1776.         http://cnmat.cnmat.berkeley.edu/~alan/MS-html/MSv2.html
  1777.         http://datura.cerl.uiuc.edu/Kelly/ICMC95/TimbreManipulationTool.html
  1778.  
  1779.         Misc resources (I have no opinion on these links)
  1780.  
  1781.         AHI:
  1782.          http://www.lysator.liu.se/~lcs/ahi.html
  1783.  
  1784.         Play16
  1785.          http://linux.rz.fh-hannover.de/~wenzel/Play16/
  1786.  
  1787.         BARS&PIPES tools:
  1788.          http://www.it.uq.edu.au/~richard/music/bars-and-pipes/index.html
  1789.  
  1790.         SoundFX
  1791.          http://www.imn.htwk-leipzig.de/~kost/SoundFX.html
  1792.  
  1793.         AudioLab16
  1794.          http://www.amagic.com/html/al16ss.html
  1795.  
  1796.         MakeCD
  1797.          http://makecd.core.de/
  1798.  
  1799.         OctaMed SS
  1800.          http://www.octamed.co.uk/
  1801.  
  1802.         Sound datatypes:
  1803.          http://www.execpc.com/~innuendo/amiga/os/datatypes/src/Playsound.c
  1804.  
  1805.         Samples
  1806.          http://www.jaygee.demon.co.uk
  1807.  
  1808.         MIDI file format
  1809.          http://www.geocities.com/TimesSquare/1225/
  1810.  
  1811.  If you know about any interresting page audio related let me know and I can
  1812.  add it to this list.
  1813.  
  1814.  
  1815.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  1816.  
  1817.  
  1818.          The Work - credits and acknowledgement
  1819.  o------------------------------------------------------------------------ o
  1820.  
  1821.         This package is compressed and compiled by Kenneth "Kenny" Nilsen:
  1822.  
  1823.         <mailto:kenny@bgnett.no> or snail it to:
  1824.  
  1825.                 Kenneth C. Nilsen
  1826.                 Skinstadgaarden
  1827.                 N-3370 Vikersund
  1828.                 (NORWAY)
  1829.  
  1830.         Co-author on the Cuelist file format analyse is John Blyth
  1831.         <john.blyth@edserv.edu.au>
  1832.  
  1833.  
  1834.         Special thanks goes to:
  1835.         -------------------------
  1836.  
  1837.         Dhomas Trenn - without his motivation this project would never seen
  1838.         the daylight!
  1839.  
  1840.         John Blyth for great assistance on the Cuefile format analysis!
  1841.  
  1842.         Martin Blom for AHI Studio 16 filesaver and for additional help on
  1843.         the C structure syntaxes for the C includes.
  1844.  
  1845.         Floyd Diebel for maintaining the Studio 16 FAQ.
  1846.  
  1847.         Alfonso Curiel and Bob Maple for help on the CMX EDL format.
  1848.  
  1849.         Thomas Wenzel for support of Studio 16 sample playback in Play16
  1850.         and Samplitude (not released at writing time).
  1851.  
  1852.  
  1853.  
  1854.                  Copyright © 1997 by Kenneth "Kenny" Nilsen
  1855.